using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using AntEater.ComponentModel;

namespace AntEater.Runtime.UI
{
    /// <summary>
    /// The view for presenting the options
    /// </summary>
    public partial class OptionsView : UserControl, IView
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="OptionsView"/> class.
        /// </summary>
        public OptionsView() {
            InitializeComponent();
        }

        /// <summary>
        /// Gets the surface.
        /// </summary>
        /// <value>The surface.</value>
        public Control Surface {
            get { return this; }
        }

        /// <summary>
        /// Forces the control to invalidate its client area and immediately redraw itself and any child controls.
        /// </summary>
        /// <PermissionSet><IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/><IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/></PermissionSet>
        public override void Refresh() {
            propertiesView.Refresh();
        }

        /// <summary>
        /// Gets or sets the external build properties.
        /// </summary>
        /// <value>The external build properties.</value>
        public ExternalBuildPropertyCollection ExternalBuildProperties {
            get { return propertiesView.ExternalBuildProperties; }
        }
    }
}
